package com.lucifer.cloud.boot.blog.domin.dto.ai;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Builder;
import lombok.Data;

import java.util.List;

/**
 * @author lucifer
 * @date 2024/10/29 15:58
 */
@Data
@Builder
@JsonIgnoreProperties(ignoreUnknown = true)
public class ChatDto {
    private String model;
    private List<Choice> choices;

    // Getters and Setters
    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public List<Choice> getChoices() {
        return choices;
    }

    public void setChoices(List<Choice> choices) {
        this.choices = choices;
    }

    @Builder
    public static class Choice {
        private Message message;
        private Delta delta;

        // Getters and Setters
        public Message getMessage() {
            return message;
        }

        public void setMessage(Message message) {
            this.message = message;
        }

        public Delta getDelta() {
            return delta;
        }

        public void setDelta(Delta delta) {
            this.delta = delta;
        }

        @Builder
        public static class Message {
            private String content;

            // Getter and Setter
            public String getContent() {
                return content;
            }

            public void setContent(String content) {
                this.content = content;
            }
        }

        @Builder
        public static class Delta {
            private String content;

            // Getter and Setter
            public String getContent() {
                return content;
            }

            public void setContent(String content) {
                this.content = content;
            }
        }
    }
}
